a) Μπορείς να επιστρέψεις οποιοδήποτε serializable object θέλεις.
b) Τα WebServices είναι platform independent (τουλάχιστον στη σωστή τους μορφή) οπότε λογικά θα μπορείς να τα "καταναλώσεις" και από non-.net environments.
c) Το blob γύρνα το με byte[] array και είσαι OK.